package graficas;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.*;
import cromosomas.Tablero;

public class TableroGUI extends javax.swing.JPanel {
    /**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	//private ImageIcon comida, hormiga;
    private JPanel [][] casillas ;
    private Tablero tablero;
    private int tam;
    private Color fondo,comida,hormiga;
        
    public TableroGUI(Tablero tab, int size) {
        fondo = this.getBackground();
        comida = new Color(0,100,0);
        hormiga = new Color(230,150,0);
    	tam=size;
    	tablero=tab;
        int x,y;
        setLayout(new java.awt.GridLayout(size, size));
//        cargarImagenes();
        casillas = new JPanel[size][size];
        for (int i = 0; i < size; i++){
            for (int j = 0; j < size; j++){
                casillas[i][j] = new JPanel(); 
                inicializarCasilla(casillas,i,j);
                x = (i * 18)+1;
                y = (j * 18)+1;
                casillas[i][j].setBounds(x, y, 17, 17);
                this.add(casillas[i][j]);
            }
        }
    }
       
    private void inicializarCasilla(JPanel[][] cas, int i, int j) {
    	//javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
    	cas[i][j].setPreferredSize(new Dimension(20,20));
    	cas[i][j].setLayout(new BorderLayout());
    	if(tablero.getCelda(i, j)==0)
    		cas[i][j].setBackground(fondo);
    	if(tablero.getCelda(i, j)==1)
    		cas[i][j].setBackground(comida);
    	if(tablero.getCelda(i, j)==2)
    		cas[i][j].setBackground(hormiga);
    	cas[i][j].setBorder(BorderFactory.createRaisedBevelBorder());
	}
    
//    protected static ImageIcon cargarFondo(String ruta) {
//        java.net.URL localizacion = TableroGUI.class.getResource(ruta);
//        if (localizacion != null) {
//            return new ImageIcon(localizacion);
//        } else {
//            System.err.println("No se ha encontrado el archivo: " + ruta);
//            return null;
//        }
//    }
    
//    public int[] getCoordenadas(CasillasGUI casilla) {
//        int [] coordenadas = new int[2];
//        for (int i=0; i < this.casillas.length; i++) {
//            for (int j=0; j < this.casillas.length; j++) {
//                if (this.casillas[i][j] == casilla) {
//                    coordenadas[0] = i;
//                    coordenadas[1] = j;
//                }
//            }
//        }
//        return coordenadas;
//    }
    
//    public CasillasGUI[][] getCasillas() {
//        return casillas;
//    }
    
//    public void setCasillas(CasillasGUI[][] casillas) {
//        this.casillas = casillas;
//    }
//    
//    public boolean isTipoTablero() {
//        return tipoTablero;
//    }    
//    public void setTipoTablero(boolean tipoTablero) {
//        this.tipoTablero = tipoTablero;
//    }
                              
//    private void initComponents() {
//
//        setLayout(null);
//        setBackground(new java.awt.Color(0, 0, 0));
//        setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
//        setPreferredSize(new java.awt.Dimension(351, 351));
//    }
    
    public void actualizar(){
    	 for (int i = 0; i < tam; i++){
             for (int j = 0; j < tam; j++){
            	if(tablero.getCelda(i, j)==0)
             		casillas[i][j].setBackground(fondo);
                if(tablero.getCelda(i, j)==1)
                	casillas[i][j].setBackground(comida);
             	if(tablero.getCelda(i, j)==2)
             		casillas[i][j].setBackground(hormiga);
             }
         }
    }
    
    public void setTablero(Tablero t){
    	tablero=t;
    }
                     
}
